﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Data;
using System.Data.SqlClient;
using COMPONENT.Library.Conexion;
using COMPONENT.Entity;


namespace COMPONENT.Dao
{
   public  class clsEscenarioDAO
    {
        private clsEscenarioDAO()
        {

        }
        private static clsEscenarioDAO instancia = null;
        public static clsEscenarioDAO Instancia
        {
            get
            {
                if (instancia == null)
                {
                    instancia = new clsEscenarioDAO();
                }
                return instancia;
            }
        }


        public List<clsEscenario> ListarEscenarioxTipoxCasa(int idTipo, int idCasa)
        {
            List<clsEscenario> lst = new List<clsEscenario>();
            clsEscenario objEscenario = null;
            SqlCommand cmd = null;
            SqlDataReader dr = null;
            try
            {
                cmd = new SqlCommand("SP_LISTAR_XTIPOEXCASA_ESCENARIO", clsConexion.GetConexion());
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@idTipo",idTipo);
                cmd.Parameters.AddWithValue("@idCasa", idCasa);

                dr = cmd.ExecuteReader();

                while (dr.Read())
                {

                    objEscenario = new clsEscenario();
                    objEscenario.ID = Convert.ToInt32(dr["IdEscenario"]);
                    objEscenario.TEscenario = new clsTipoEscenario();
                    objEscenario.TEscenario.Nombre = dr["NombreTE"].ToString();
                    objEscenario.Nombre = dr["NombreE"].ToString();
                    objEscenario.Imagen = dr["Imagen"].ToString();
                    objEscenario.Estado = Convert.ToBoolean(dr["Estado"]);
                    lst.Add(objEscenario);
                }
            }
            catch (Exception ex)
            {
                lst = null;
                cmd.Connection.Close();
            }
            finally
            {
                cmd.Connection.Close();
            }
            return lst;
        }

    }
}
